package function

object Scala_Transform {
  def main(args: Array[String]): Unit = {
    val person = new Person
    person.info()

    person.updateInfo()
    // 隐士类的查找顺序
    // 1)第一个是当前作用域
    // 2)上级作用域
    // 3)当前类所在的包对象
    // 4)父类
    // 5)特质

    // 一般我们使用隐士类转换时，可以直接导入

  }

  class Person {
    def info(): Unit ={
      println("name：xxx age:xxx")
    }
  }

  // 隐式类
  // implicit修饰，构造参数要存在且只有一个，用于类型转换
  implicit class PersonInfoAdd(person: Person){
    def updateInfo():Unit = {
      println("address:xxxx")
    }
  }

}